package com.hxd.otc.module.order.contract;

import android.support.annotation.NonNull;

import com.hxd.otc.module.order.bean.AllOrderBean;
import com.hxd.otc.module.order.bean.BankInfoPoData;
import com.hxd.otc.mvp.base.IBasePresenter;
import com.hxd.otc.mvp.base.IBaseView;

import java.io.File;
import java.util.List;

/**
 * 包  名 :  com.hxd.otc.module.order.contract
 * 类  名 :  OrderFinishedContract
 * 作  者 :  zjl
 * 时  间 :  2018/6/9 12:00
 * 描  述 :  ${TODO} 订单完成
 */
public class SaleOrderDetailContract {

    public interface View extends IBaseView {
        /**
         * 设置数据
         */
        void onSetData(AllOrderBean.DataBean bean);

        /**
         * 刷新view 操作
         *
         * @param type 对应不同状态
         */
        void refreshView(int type);

        void getOrderBankList(List<BankInfoPoData> bankInfoPoData);

        void uploadImageSuccess(String imageId);

        void uploadImageFail(String errMessage);

        void fixQRcodeSucced(String errMessage);

        void fixQRcodeFail(String errMessage);
    }

    public interface Presenter extends IBasePresenter {
        /**
         * 请求数据
         */
        void doLoadData(String... category);

        void getOrderBankList(String... category);

        /**
         * 加载完毕
         */
        void doShowNoMore();

        /**
         * 未付款 ----取消交易操作
         *
         * @param category
         */
        void cancleDetal(String... category);

        /**
         * 已付款 ----确认收款操作c
         *
         * @param category
         */
        void confirmPayment(String... category);

        /**
         * 已付款 ----部分确认收款操作c
         *
         * @param category
         */
        void partConfirmOrder(String... category);

        /**
         * 申诉 ----撤回申诉 操作
         *
         * @param category
         */
        void withdrawalRep(String... category);

        void uploadImage(File file);

        void fixQRcode(@NonNull String... category);
    }
}
